/**
 * 版权所有 2009-2012山东新北洋信息技术股份有限公司
 * 保留所有权利。
 */
package com.linyaonan.leetcode.easy._14;

/**
 * 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀，返回空字符串 ""
 *
 * 输入: ["flower","flow","flight"]
 * 输出: "fl"
 *
 * @ProjectName: leetcode
 * @Package: com.linyaonan.leetcode.easy._14
 * @ClassName: LongestCommonPrefix
 * @Author: linyaonan
 * @Date: 2019/10/7 16:32
 */
public class LongestCommonPrefix {
    public static String longestCommonPrefix(String[] strs) {
        StringBuilder sb = new StringBuilder();
        try {
            if (strs == null || strs.length == 0) {
                return "";
            }
            if (strs.length == 1) {
                if (strs[0] != null) {
                    return strs[0];
                }
            }
            int count = 0;
            while(true) {
                char c = strs[0].charAt(count);
                for (String s : strs) {
                    if (s == null || count > (s.length() - 1) || c != s.charAt(count)) {
                        return sb.toString();
                    }
                }
                sb.append(c);
                count ++;
            }
        } catch (Exception e) {
            return sb.toString();
        }
    }
}
